在mysql日期中更改年份

您所在的位置:网站首页 mysql 修改表格 在mysql日期中更改年份

在mysql日期中更改年份

#在mysql日期中更改年份| 来源: 网络整理| 查看: 265

目前的答案存在的问题是,它们都没有考虑到闰年。如果您采用日期'2016-02-29‘并通过连接将其转换为2013年,则会得到'2013-02-29',这不是有效的日期。如果运行DATE_FORMAT('2013-02-29','%Y-%m-%d'),则结果为null。请看这里的示例:

http://sqlfiddle.com/#!9/c5358/11

更改年份的更好方法是使用DATE_ADD,因为它考虑了夏令时。例如:

SELECT DATE_FORMAT(DATE_ADD(datecol, INTERVAL (YEAR(CURRENT_DATE()) - YEAR(datecol)) YEAR), '%Y-%m-%d') `date` FROM t;

如果您仍然希望将所有日期转换为2013年而不是当前年份,则可以将CURRENT_DATE()替换为'2013-01-01‘。此解决方案的示例如下所示:

http://sqlfiddle.com/#!9/c5358/12



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3